<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Bluetooth Host Stack Library: Common Bluetooth definitions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="IFXCYP_one-line.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Bluetooth Host Stack Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('group__gentypes.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#groups">API Reference</a>  </div>
  <div class="headertitle">
<div class="title">Common Bluetooth definitions</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">General Description</h2>
<p>Common Bluetooth definitions. </p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
API Reference</h2></td></tr>
<tr class="memitem:group__bt__types"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bt__types.html">AIROC Bluetooth Types</a></td></tr>
<tr class="memdesc:group__bt__types"><td class="mdescLeft">&#160;</td><td class="mdescRight">AIROC Bluetooth Types. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group___result"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___result.html">AIROC result</a></td></tr>
<tr class="memdesc:group___result"><td class="mdescLeft">&#160;</td><td class="mdescRight"><b> Result types </b> See wiced_result.h <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1f4cfe52f11524db00596ab45f4cf9b5"><td class="memItemLeft" align="right" valign="top"><a id="ga1f4cfe52f11524db00596ab45f4cf9b5"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gentypes.html#ga1f4cfe52f11524db00596ab45f4cf9b5">WICED_BT_TRACE</a>&#160;&#160;&#160;BTU_trace_debug</td></tr>
<tr class="memdesc:ga1f4cfe52f11524db00596ab45f4cf9b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Debug trace macro. <br /></td></tr>
<tr class="separator:ga1f4cfe52f11524db00596ab45f4cf9b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga10ff3340ed1baba5a78b417fdada3113"><td class="memItemLeft" align="right" valign="top"><a id="ga10ff3340ed1baba5a78b417fdada3113"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gentypes.html#ga10ff3340ed1baba5a78b417fdada3113">WICED_BT_TRACE_ARRAY</a>(ptr,  len,  string)&#160;&#160;&#160;<a class="el" href="group__gentypes.html#ga1f4cfe52f11524db00596ab45f4cf9b5">WICED_BT_TRACE</a>(&quot;%s %A&quot;,string,ptr,len);</td></tr>
<tr class="memdesc:ga10ff3340ed1baba5a78b417fdada3113"><td class="mdescLeft">&#160;</td><td class="mdescRight">Debug trace array macro. <br /></td></tr>
<tr class="separator:ga10ff3340ed1baba5a78b417fdada3113"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf386757dcdcd407d36542e9de683697"><td class="memItemLeft" align="right" valign="top"><a id="gaaf386757dcdcd407d36542e9de683697"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gentypes.html#gaaf386757dcdcd407d36542e9de683697">WICED_BT_TRACE_CRIT</a>&#160;&#160;&#160;BTU_trace_crit_error</td></tr>
<tr class="memdesc:gaaf386757dcdcd407d36542e9de683697"><td class="mdescLeft">&#160;</td><td class="mdescRight">Error trace array macro. <br /></td></tr>
<tr class="separator:gaaf386757dcdcd407d36542e9de683697"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga98455f16ecc9e3b1e94af3d3437416f5"><td class="memItemLeft" align="right" valign="top"><a id="ga98455f16ecc9e3b1e94af3d3437416f5"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gentypes.html#ga98455f16ecc9e3b1e94af3d3437416f5">WICED_FALSE</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ga98455f16ecc9e3b1e94af3d3437416f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">AIROC false. <br /></td></tr>
<tr class="separator:ga98455f16ecc9e3b1e94af3d3437416f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b2438400e0a0860adaae6d13fec33f8"><td class="memItemLeft" align="right" valign="top"><a id="ga5b2438400e0a0860adaae6d13fec33f8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gentypes.html#ga5b2438400e0a0860adaae6d13fec33f8">WICED_TRUE</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:ga5b2438400e0a0860adaae6d13fec33f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">AIROC true. <br /></td></tr>
<tr class="separator:ga5b2438400e0a0860adaae6d13fec33f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa93f0eb578d23995850d61f7d61c55c1"><td class="memItemLeft" align="right" valign="top"><a id="gaa93f0eb578d23995850d61f7d61c55c1"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gentypes.html#gaa93f0eb578d23995850d61f7d61c55c1">FALSE</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:gaa93f0eb578d23995850d61f7d61c55c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">false <br /></td></tr>
<tr class="separator:gaa93f0eb578d23995850d61f7d61c55c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa8cecfc5c5c054d2875c03e77b7be15d"><td class="memItemLeft" align="right" valign="top"><a id="gaa8cecfc5c5c054d2875c03e77b7be15d"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gentypes.html#gaa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:gaa8cecfc5c5c054d2875c03e77b7be15d"><td class="mdescLeft">&#160;</td><td class="mdescRight">true <br /></td></tr>
<tr class="separator:gaa8cecfc5c5c054d2875c03e77b7be15d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga97c8bde23bbca19bb57f78d2eb6ab36c"><td class="memItemLeft" align="right" valign="top"><a id="ga97c8bde23bbca19bb57f78d2eb6ab36c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gentypes.html#ga97c8bde23bbca19bb57f78d2eb6ab36c">WICED_BT_STRUCT_PACKED</a>&#160;&#160;&#160;struct</td></tr>
<tr class="memdesc:ga97c8bde23bbca19bb57f78d2eb6ab36c"><td class="mdescLeft">&#160;</td><td class="mdescRight">packed structure <br /></td></tr>
<tr class="separator:ga97c8bde23bbca19bb57f78d2eb6ab36c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf559ec18050599646fbf55d40ed98b37"><td class="memItemLeft" align="right" valign="top"><a id="gaf559ec18050599646fbf55d40ed98b37"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gentypes.html#gaf559ec18050599646fbf55d40ed98b37">WICED_BT_UNION_PACKED</a>&#160;&#160;&#160;union</td></tr>
<tr class="memdesc:gaf559ec18050599646fbf55d40ed98b37"><td class="mdescLeft">&#160;</td><td class="mdescRight">packed union <br /></td></tr>
<tr class="separator:gaf559ec18050599646fbf55d40ed98b37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6c327dc4edeae1729c0742debf67ab0e"><td class="memItemLeft" align="right" valign="top"><a id="ga6c327dc4edeae1729c0742debf67ab0e"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gentypes.html#ga6c327dc4edeae1729c0742debf67ab0e">WICED_SUPPRESS_WARNINGS</a>(m)&#160;&#160;&#160;if((m)){;}</td></tr>
<tr class="memdesc:ga6c327dc4edeae1729c0742debf67ab0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Surpress Warnings. <br /></td></tr>
<tr class="separator:ga6c327dc4edeae1729c0742debf67ab0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4048bf3892868ded8a28f8cbdd339c09"><td class="memItemLeft" align="right" valign="top"><a id="ga4048bf3892868ded8a28f8cbdd339c09"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gentypes.html#ga4048bf3892868ded8a28f8cbdd339c09">UNUSED_VARIABLE</a>(x)&#160;&#160;&#160;/*@-noeffect@*/ ( (void)(x) ) /*@+noeffect@*/</td></tr>
<tr class="memdesc:ga4048bf3892868ded8a28f8cbdd339c09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unused Variable. <br /></td></tr>
<tr class="separator:ga4048bf3892868ded8a28f8cbdd339c09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6932fa14acb0fcfd1f6b388e9e8052f9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gentypes.html#ga6932fa14acb0fcfd1f6b388e9e8052f9">WICED_MEMCPY</a>(a,  b,  c)&#160;&#160;&#160;memcpy((void*)(a), (const void*)(b), c)</td></tr>
<tr class="memdesc:ga6932fa14acb0fcfd1f6b388e9e8052f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">To prevent complier to optimize with LDM and STM instructions.  <a href="#ga6932fa14acb0fcfd1f6b388e9e8052f9">More...</a><br /></td></tr>
<tr class="separator:ga6932fa14acb0fcfd1f6b388e9e8052f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4f0e2d112639989c914af8f8503362cc"><td class="memItemLeft" align="right" valign="top"><a id="ga4f0e2d112639989c914af8f8503362cc"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gentypes.html#ga4f0e2d112639989c914af8f8503362cc">WICED_MEMSET</a>(a,  b,  c)&#160;&#160;&#160;memset((void*)(a), b, c)</td></tr>
<tr class="memdesc:ga4f0e2d112639989c914af8f8503362cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">AIROC Memory set. <br /></td></tr>
<tr class="separator:ga4f0e2d112639989c914af8f8503362cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9182630eeae6bc96b5fcc983cb7da366"><td class="memItemLeft" align="right" valign="top"><a id="ga9182630eeae6bc96b5fcc983cb7da366"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gentypes.html#ga9182630eeae6bc96b5fcc983cb7da366">WICED_MEMMOVE</a>(a,  b,  c)&#160;&#160;&#160;memmove((void*)(a), (const void*)(b), c)</td></tr>
<tr class="memdesc:ga9182630eeae6bc96b5fcc983cb7da366"><td class="mdescLeft">&#160;</td><td class="mdescRight">AIROC Memory move. <br /></td></tr>
<tr class="separator:ga9182630eeae6bc96b5fcc983cb7da366"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab7793d9d0219f4c7ec333562b5b91407"><td class="memItemLeft" align="right" valign="top"><a id="gab7793d9d0219f4c7ec333562b5b91407"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gentypes.html#gab7793d9d0219f4c7ec333562b5b91407">WICED_MEMCMP</a>(a,  b,  c)&#160;&#160;&#160;memcmp((void*)(a), (const void*)(b), c)</td></tr>
<tr class="memdesc:gab7793d9d0219f4c7ec333562b5b91407"><td class="mdescLeft">&#160;</td><td class="mdescRight">AIROC Memory compare. <br /></td></tr>
<tr class="separator:gab7793d9d0219f4c7ec333562b5b91407"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b39fce8d4bf2ee79d4249fe4acdae39"><td class="memItemLeft" align="right" valign="top"><a id="ga5b39fce8d4bf2ee79d4249fe4acdae39"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gentypes.html#ga5b39fce8d4bf2ee79d4249fe4acdae39">ADDRESS_TO_BUFFER</a>(b,  a)&#160;&#160;&#160;uintptr_t addr=(uintptr_t)a; for(int i = 0; i &lt; 4; i++) {b[3-i] = (addr &gt;&gt; (i * 8)) &amp; 0xFF;}</td></tr>
<tr class="memdesc:ga5b39fce8d4bf2ee79d4249fe4acdae39"><td class="mdescLeft">&#160;</td><td class="mdescRight">MACRO to convert an address into a 4 byte buffer. <br /></td></tr>
<tr class="separator:ga5b39fce8d4bf2ee79d4249fe4acdae39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2bc92bd117cfd3f6ec4ae452e6ced064"><td class="memItemLeft" align="right" valign="top"><a id="ga2bc92bd117cfd3f6ec4ae452e6ced064"></a>
typedef unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a></td></tr>
<tr class="memdesc:ga2bc92bd117cfd3f6ec4ae452e6ced064"><td class="mdescLeft">&#160;</td><td class="mdescRight">AIROC Boolean. <br /></td></tr>
<tr class="separator:ga2bc92bd117cfd3f6ec4ae452e6ced064"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3485f1bcadb8362abc051922bd195a8d"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gentypes.html#ga3485f1bcadb8362abc051922bd195a8d">pf_wiced_exception</a>) (uint16_t code, void *ptr, uint32_t length)</td></tr>
<tr class="memdesc:ga3485f1bcadb8362abc051922bd195a8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Exception callback for stack, controller &amp; porting layer exceptions:  <a href="#ga3485f1bcadb8362abc051922bd195a8d">More...</a><br /></td></tr>
<tr class="separator:ga3485f1bcadb8362abc051922bd195a8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ga6932fa14acb0fcfd1f6b388e9e8052f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6932fa14acb0fcfd1f6b388e9e8052f9">&#9670;&nbsp;</a></span>WICED_MEMCPY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WICED_MEMCPY</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">b, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;memcpy((void*)(a), (const void*)(b), c)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>To prevent complier to optimize with LDM and STM instructions. </p>
<p>AIROC Memory copy </p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ga3485f1bcadb8362abc051922bd195a8d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3485f1bcadb8362abc051922bd195a8d">&#9670;&nbsp;</a></span>pf_wiced_exception</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* pf_wiced_exception) (uint16_t code, void *ptr, uint32_t length)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Exception callback for stack, controller &amp; porting layer exceptions: </p>
<p>Invoked by porting layer on stack/controller/porting layer exceptions and critical unrecoverable errors</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">code</td><td>: Exception code - Numerical value of an exception (See CYBT_STACK_BASE_EXCEPTION in wiced_bt_stack_platform.h for stack exceptions See CYBT_CONTROLLER_BASE_EXCEPTION &amp; CYBT_PORTING_BASE_EXCEPTION in cybt_platform_config.h for controller and porting layer exceptions) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>: Pointer to the exception data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>: Length of the exception data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>Bluetooth Host Stack Library</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
</body>
</html>
